package com.alex.insistence.web.cgform.goal.plan.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;
import org.jeecgframework.poi.excel.annotation.Excel;

import lombok.Data;

/**
 * @Title: Entity
 * @Description: 目标计划
 * @author onlineGenerator
 * @date 2018-04-05 10:22:08
 * @version V1.0
 *
 */
@Entity
@Table(name = "goal_plan", schema = "")
@SuppressWarnings("serial")
@javax.xml.bind.annotation.XmlRootElement
@Data
public class GoalPlanEntity implements java.io.Serializable {
  /** 主键 */
  private java.lang.String id;
  /** 创建人名称 */
  private java.lang.String createName;
  /** 创建人登录名称 */
  private java.lang.String createBy;
  /** 创建日期 */
  private java.util.Date createDate;
  /** 更新人名称 */
  private java.lang.String updateName;
  /** 更新人登录名称 */
  private java.lang.String updateBy;
  /** 更新日期 */
  private java.util.Date updateDate;
  /** 所属部门 */
  private java.lang.String sysOrgCode;
  /** 所属公司 */
  private java.lang.String sysCompanyCode;
  /** 标题 */
  @Excel(name = "标题")
  private String title;
  /** 内容 */
  @Excel(name = "内容")
  private String content;
  /** 开始日期 */
  @Excel(name = "开始日期", format = "yyyy-MM-dd")
  private java.util.Date beginDate;
  /** 结束日期 */
  @Excel(name = "结束日期", format = "yyyy-MM-dd")
  private java.util.Date endDate;
  /** 周期 */
  @Excel(name = "周期")
  private java.lang.String cycle;
  /** 类型 */
  @Excel(name = "类型")
  private java.lang.String type;
  /** 状态 */
  @Excel(name = "状态")
  private java.lang.String status;
  /** 标签 */
  @Excel(name = "标签")
  private java.lang.String tag;

  /**
   * 方法: 取得主键
   * 
   * @return 主键
   */
  @Id
  @GeneratedValue(generator = "paymentableGenerator")
  @GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
  @Column(name = "ID", nullable = false, length = 36)
  public java.lang.String getId() {
    return this.id;
  }

  /**
   * 方法: 设置主键
   *
   * @param id
   *          主键
   */
  public void setId(java.lang.String id) {
    this.id = id;
  }

  /**
   * 方法: 取得创建人名称
   * 
   * @return 创建人名称
   */
  @Column(name = "CREATE_NAME", nullable = true, length = 50)
  public java.lang.String getCreateName() {
    return this.createName;
  }

  /**
   * 方法: 设置创建人名称
   *
   * @param createName
   *          创建人名称
   */
  public void setCreateName(java.lang.String createName) {
    this.createName = createName;
  }

  /**
   * 方法: 取得创建人登录名称
   * 
   * @return 创建人登录名称
   */
  @Column(name = "CREATE_BY", nullable = true, length = 50)
  public java.lang.String getCreateBy() {
    return this.createBy;
  }

  /**
   * 方法: 设置创建人登录名称
   *
   * @param createBy
   *          创建人登录名称
   */
  public void setCreateBy(java.lang.String createBy) {
    this.createBy = createBy;
  }

  /**
   * 方法: 取得创建日期
   * 
   * @return 创建日期
   */
  @Column(name = "CREATE_DATE", nullable = true, length = 20)
  public java.util.Date getCreateDate() {
    return this.createDate;
  }

  /**
   * 方法: 设置创建日期
   *
   * @param createDate
   *          创建日期
   */
  public void setCreateDate(java.util.Date createDate) {
    this.createDate = createDate;
  }

  /**
   * 方法: 取得更新人名称
   * 
   * @return 更新人名称
   */
  @Column(name = "UPDATE_NAME", nullable = true, length = 50)
  public java.lang.String getUpdateName() {
    return this.updateName;
  }

  /**
   * 方法: 设置更新人名称
   *
   * @param updateName
   *          更新人名称
   */
  public void setUpdateName(java.lang.String updateName) {
    this.updateName = updateName;
  }

  /**
   * 方法: 取得更新人登录名称
   * 
   * @return 更新人登录名称
   */
  @Column(name = "UPDATE_BY", nullable = true, length = 50)
  public java.lang.String getUpdateBy() {
    return this.updateBy;
  }

  /**
   * 方法: 设置更新人登录名称
   *
   * @param updateBy
   *          更新人登录名称
   */
  public void setUpdateBy(java.lang.String updateBy) {
    this.updateBy = updateBy;
  }

  /**
   * 方法: 取得更新日期
   * 
   * @return 更新日期
   */
  @Column(name = "UPDATE_DATE", nullable = true, length = 20)
  public java.util.Date getUpdateDate() {
    return this.updateDate;
  }

  /**
   * 方法: 设置更新日期
   *
   * @param updateDate
   *          更新日期
   */
  public void setUpdateDate(java.util.Date updateDate) {
    this.updateDate = updateDate;
  }

  /**
   * 方法: 取得所属部门
   * 
   * @return 所属部门
   */
  @Column(name = "SYS_ORG_CODE", nullable = true, length = 50)
  public java.lang.String getSysOrgCode() {
    return this.sysOrgCode;
  }

  /**
   * 方法: 设置所属部门
   *
   * @param sysOrgCode
   *          所属部门
   */
  public void setSysOrgCode(java.lang.String sysOrgCode) {
    this.sysOrgCode = sysOrgCode;
  }

  /**
   * 方法: 取得所属公司
   * 
   * @return 所属公司
   */
  @Column(name = "SYS_COMPANY_CODE", nullable = true, length = 50)
  public java.lang.String getSysCompanyCode() {
    return this.sysCompanyCode;
  }

  /**
   * 方法: 设置所属公司
   *
   * @param sysCompanyCode
   *          所属公司
   */
  public void setSysCompanyCode(java.lang.String sysCompanyCode) {
    this.sysCompanyCode = sysCompanyCode;
  }

  /**
   * 方法: 取得标题
   * 
   * @return 标题
   */
  @Column(name = "TITLE", nullable = false, length = 256)
  public java.lang.String getTitle() {
    return this.title;
  }

  /**
   * 方法: 设置标题
   *
   * @param title
   *          标题
   */
  public void setTitle(java.lang.String title) {
    this.title = title;
  }

  /**
   * 方法: 取得内容
   * 
   * @return 内容
   */
  @Column(name = "CONTENT", nullable = false, length = 2048)
  public java.lang.String getContent() {
    return this.content;
  }

  /**
   * 方法: 设置内容
   *
   * @param content
   *          内容
   */
  public void setContent(java.lang.String content) {
    this.content = content;
  }

  /**
   * 方法: 取得开始日期
   * 
   * @return 开始日期
   */
  @Column(name = "BEGIN_DATE", nullable = false, length = 32)
  public java.util.Date getBeginDate() {
    return this.beginDate;
  }

  /**
   * 方法: 设置开始日期
   *
   * @param beginDate
   *          开始日期
   */
  public void setBeginDate(java.util.Date beginDate) {
    this.beginDate = beginDate;
  }

  /**
   * 方法: 取得结束日期
   * 
   * @return 结束日期
   */
  @Column(name = "END_DATE", nullable = false, length = 32)
  public java.util.Date getEndDate() {
    return this.endDate;
  }

  /**
   * 方法: 设置结束日期
   *
   * @param endDate
   *          结束日期
   */
  public void setEndDate(java.util.Date endDate) {
    this.endDate = endDate;
  }

  /**
   * 方法: 取得周期
   * 
   * @return 周期
   */
  @Column(name = "CYCLE", nullable = false, length = 100)
  public java.lang.String getCycle() {
    return this.cycle;
  }

  /**
   * 方法: 设置周期
   *
   * @param cycle
   *          周期
   */
  public void setCycle(java.lang.String cycle) {
    this.cycle = cycle;
  }

  /**
   * 方法: 取得类型
   * 
   * @return 类型
   */
  @Column(name = "TYPE", nullable = false, length = 32)
  public java.lang.String getType() {
    return this.type;
  }

  /**
   * 方法: 设置类型
   *
   * @param type
   *          类型
   */
  public void setType(java.lang.String type) {
    this.type = type;
  }

  /**
   * 方法: 取得状态
   * 
   * @return 状态
   */
  @Column(name = "STATUS", nullable = false, length = 32)
  public java.lang.String getStatus() {
    return this.status;
  }

  /**
   * 方法: 设置状态
   *
   * @param status
   *          状态
   */
  public void setStatus(java.lang.String status) {
    this.status = status;
  }

  /**
   * 方法: 取得标签
   * 
   * @return 标签
   */
  @Column(name = "TAG", nullable = true, length = 32)
  public java.lang.String getTag() {
    return this.tag;
  }

  /**
   * 方法: 设置标签
   *
   * @param tag
   *          标签
   */
  public void setTag(java.lang.String tag) {
    this.tag = tag;
  }
}
